Software Tamper Resistance Through Dynamic Program Monitoring
نویسندگان
چکیده
This paper describes a two instruction-stream (twoprocess) model for tamper resistance. One process (Monitor process, M-Process) is designed explicitly to monitor the control flow of the main program process (P-Process). The compilation phase compiles the software into two co-processes: P-process and M-process. The monitor process contains the control flow consistency conditions for the P-process. The P-process sends information on its instantiated control flow at a compiler specified fixed period to the M-process. If there is a violation of the control flow conditions captured within the M-process, the Mprocess takes an anti-tamper action such as termination of the P-process. By its very design, the monitor process is expected to be compact. Hence, we can afford to protect the M-process with a more expensive technique, a variant of Aucsmith’s scheme. This scheme has been implemented with the Gnu C compiler gcc. There are several other monitoring, obfuscation, and dynamic decryption techniques that are embedded in this system. We quantify the performance overhead of the scheme for a variety of programs. The performance of such an anti-tamper schema can be significantly improved by leveraging a decoupled processor architecture to support the decoupled Mand Pprocesses. We describe one instance of such a two-stream decoupled architecture that can make the scheme more robust and efficient.
منابع مشابه
Tamper Resistant Software Through Dynamic Integrity Checking
Code modification is the main method for software piracy. Making software tamper resistant is the challenge for software protection. In this paper, we present and explore a methodology that we believe can protect program integrity in a more tamper-resilient and flexible manner. we describe a dynamic integrity verification mechanism designed to prevent modification of software. The mechanism mak...
متن کاملImpact of Tamper Shape on the Efficiency and Vibrations Induced During Dynamic Compaction of Dry Sands by 3D Finite Element Modeling
Dynamic compaction is a soil improvement method which has been widely used for the increase of bearing capacity through stress wave propagation during heavy tamping. The cost and time of project implementation can be effectively curtailed by developing a model that can be used in the design of dynamic compaction operations. The numerical models offered so far are mostly one or two-dimensional, ...
متن کاملA Thesis for the Degree of Master of Science Tamper Resistance for Software Protection
Protection of software code against illegitimate modifications by its users is a pressing issue to many software developers. Many software-based mechanisms for protecting program code are too weak (e.g., they have single points of failure) or too expensive to apply (e.g., they incur heavy runtime performance penalty to the protected programs). In this thesis, We present and explore a methodolog...
متن کاملTowards a Formal Model for Software Tamper Resistance
A major challenge in software protection is the problem of tampering where an adversary modifies a program and uses it in a way that was not intended or desired. Several ad hoc techniques for software tamper resistance have been proposed, some of which provide a significant level of resilience against tampering. However, the literature lacks a formal definition of tampering that takes into acco...
متن کاملTowards Better Software Tamper Resistance
Software protection is an area of active research in which a variety of techniques have been developed to address the issue. Examples of such techniques include code obfuscation, software watermarking, and tamper detection. In this paper we propose a tamper resistance technique which provides both on and offline tamper detection. In our offline approach, the software dynamically detects tamperi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005